Last updated: 2020-08-06

Checks: 7 0

Knit directory: greenspace_1km/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20200708) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 8507c28. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    .drake/
    Ignored:    data/
    Ignored:    doc/
    Ignored:    keys.R

Unstaged changes:
    Modified:   explore/routing.R

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/lockdown_greenspace.Rmd) and HTML (docs/lockdown_greenspace.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
html 8507c28 Dennis Wollersheim 2020-08-06 Build site.
Rmd 9352245 Dennis Wollersheim 2020-08-06 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html 824aa81 Dennis Wollersheim 2020-08-06 Build site.
Rmd 3ac885d Dennis Wollersheim 2020-08-06 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html 8fa23c1 Dennis Wollersheim 2020-08-06 Build site.
Rmd 923b672 Dennis Wollersheim 2020-08-06 wflow_publish(knitr_in(“analysis/lockdown_greenspace.Rmd”), view = TRUE,
html 878b52c Dennis Wollersheim 2020-08-06 Build site.
html 4550ce3 Dennis Wollersheim 2020-08-06 Build site.
Rmd 9951e24 Dennis Wollersheim 2020-08-06 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
Rmd 0f698ab Dennis Wollersheim 2020-08-06 wflow_publish(knitr_in(“analysis/lockdown_greenspace.Rmd”), view = TRUE,
Rmd 8340fbf Dennis Wollersheim 2020-08-06 wflow_publish(knitr_in(“analysis/lockdown_greenspace.Rmd”), view = TRUE,
html 1084411 Dennis Wollersheim 2020-08-06 Build site.
Rmd 4845f29 Dennis Wollersheim 2020-08-06 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html 6b8e8ef Dennis Wollersheim 2020-08-06 Build site.
Rmd b7f4db2 Dennis Wollersheim 2020-08-06 wflow_publish(knitr_in(“analysis/lockdown_greenspace.Rmd”), view = TRUE,
html e1388a3 Dennis Wollersheim 2020-08-06 Build site.
Rmd b149e10 Dennis Wollersheim 2020-08-06 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html d123364 Dennis Wollersheim 2020-08-05 Build site.
Rmd c414c9c Dennis Wollersheim 2020-08-05 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html a71385f Dennis Wollersheim 2020-08-05 Build site.
Rmd e4336ca Dennis Wollersheim 2020-08-05 wflow_publish(knitr_in(“analysis/lockdown_greenspace.Rmd”), view = TRUE,
html 269212e Dennis Wollersheim 2020-08-05 Build site.
Rmd f26be26 Dennis Wollersheim 2020-08-05 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html b83cc3d Dennis Wollersheim 2020-08-05 Build site.
html a69a370 Dennis Wollersheim 2020-08-05 Build site.
Rmd cfa232f Dennis Wollersheim 2020-08-05 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)
html 1b1df89 Dennis Wollersheim 2020-08-05 Build site.
Rmd 0563d42 Dennis Wollersheim 2020-08-05 wflow_publish(knitr_in(“analysis/lockdown_greenspace.Rmd”), view = TRUE,
html 5e8e777 Dennis Wollersheim 2020-08-05 Build site.
Rmd ba8985a Dennis Wollersheim 2020-08-05 workflowr::wflow_publish(“analysis/lockdown_greenspace.Rmd”)

No Parkland Meshblock Summary

  df_mesh_lockdown_summary_all %>%
    filter(as.numeric(area)==0) %>%
  { . } -> df_none

df_none %>%
  count( MB_CATEGORY_NAME_2016, sort=TRUE) %>%
  gt::gt() %>%
  gt::tab_header(
           title = glue::glue("Meshblocks with no parks within {max_distance}km"),
           subtitle = "Number by category"
)
Meshblocks with no parks within 1km
Number by category
MB_CATEGORY_NAME_2016 n
Residential 581
Primary Production 407
Other 225
Industrial 134
Commercial 28
Education 18
Water 3
Transport 2
Hospital/Medical 1
df_none %>%
  select(-starts_with('mc'), -State) %>%
  summarise( across( where(is.numeric),
                    .fns=list(mean=mean, max=max, min=min, sd=sd, total = sum))) %>%
  gt::gt() %>%
gt::tab_header(
               title = glue::glue("Meshblocks with no parks within {max_distance}km"),
               subtitle = "Summary statistics"
)
Meshblocks with no parks within 1km
Summary statistics
area_mean area_max area_min area_sd area_total AREA_ALBERS_SQKM_mean AREA_ALBERS_SQKM_max AREA_ALBERS_SQKM_min AREA_ALBERS_SQKM_sd AREA_ALBERS_SQKM_total Dwelling_mean Dwelling_max Dwelling_min Dwelling_sd Dwelling_total Person_mean Person_max Person_min Person_sd Person_total
0 [m^2] 0 [m^2] 0 [m^2] 0 0 [m^2] 2.635717 57.1033 0.0033 4.619509 3687.369 29.62545 424 0 27.47099 41446 78.95568 1145 0 75.12695 110459

LGA level summary for Residential Meshblocks

df_mesh_lockdown_summary_residential  %>%
  group_by(lga_name) %>%
  select(-starts_with('mc'), -State) %>%
  mutate( area = units::set_units( area, 'km^2') ) %>%
  summarise(across(.cols=where(is_numeric),
                   .fns=list(mean=mean, max=max, min=min, sd=sd, total = sum),
                   .names = "{col}.{fn}"), number_mesh_blocks = n(),
            .groups='drop') %>%
  { . } -> df_lga_summary
Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated
df_lga_summary %>%
  datatable(options = list(pageLength = 10))
df_mesh_lockdown_summary_all  %>%
  write_csv('output/lockdown_greenspace_mesh_detail.csv')

df_lga_summary %>%
  write_csv('output/lockdown_greenspace_lga_summary.csv')

SA2 level summary for Residential Meshblocks

df_mesh_lockdown_summary_residential  %>%
  select(-starts_with('mc'), -State) %>%
  mutate( area = units::set_units( area, 'km^2') ) %>%
  group_by(SA2_MAIN16) %>%
  summarise(across(.cols=where(is_numeric),
                   .fns=list(mean=mean, max=max, min=min, sd=sd, total = sum),
                   .names = "{col}.{fn}"), number_mesh_blocks = n(),
            .groups='drop') %>%
  right_join( df_mesh_lockdown_summary_all %>% distinct(SA2_MAIN16), by ='SA2_MAIN16' ) %>%
  { . } -> df_sa2_summary
Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated
df_sa2_summary %>%
  head(10) %>%
  gt::gt() %>%
gt::tab_header(
               title = "SA2 Summary",
               subtitle = "First 10 rows"
)
SA2 Summary
First 10 rows
SA2_MAIN16 area.mean area.max area.min area.sd area.total AREA_ALBERS_SQKM.mean AREA_ALBERS_SQKM.max AREA_ALBERS_SQKM.min AREA_ALBERS_SQKM.sd AREA_ALBERS_SQKM.total Dwelling.mean Dwelling.max Dwelling.min Dwelling.sd Dwelling.total Person.mean Person.max Person.min Person.sd Person.total number_mesh_blocks
204011061 1.7169276 [km^2] 2.3370023 [km^2] 1.39489599 [km^2] 0.5371344 5.150783 [km^2] 0.23680000 0.4042 0.0977 0.155197390 0.7104 17.00000 23 10 6.557439 51 28.00000 37 16 10.81665 84 3
206011105 0.2751499 [km^2] 1.0575642 [km^2] 0.00000000 [km^2] 0.2739687 71.814123 [km^2] 0.01345326 0.0351 0.0015 0.006225212 3.5113 42.68199 177 5 22.246746 11140 88.89655 345 7 40.75226 23202 261
206011106 0.3642722 [km^2] 0.7031185 [km^2] 0.08279169 [km^2] 0.1847112 42.255576 [km^2] 0.01409828 0.0370 0.0017 0.006733059 1.6354 48.14655 443 0 56.793639 5585 93.51724 678 4 81.06857 10848 116
206011107 0.4471127 [km^2] 0.9509893 [km^2] 0.04471476 [km^2] 0.1913856 72.432265 [km^2] 0.01666852 0.0531 0.0015 0.008884808 2.7003 40.65432 217 10 19.390182 6586 82.62346 385 15 38.58459 13385 162
206011108 0.2166905 [km^2] 0.8985413 [km^2] 0.01428953 [km^2] 0.2226937 54.822697 [km^2] 0.02256957 0.0946 0.0027 0.009758878 5.7101 42.08696 241 0 19.585596 10648 101.04743 394 0 38.73718 25565 253
206011109 0.2000361 [km^2] 0.4129230 [km^2] 0.04271871 [km^2] 0.1082549 17.403144 [km^2] 0.02919425 0.0508 0.0081 0.008556411 2.5399 42.85057 72 17 11.069053 3728 111.44828 217 24 33.06363 9696 87
206021110 0.3810333 [km^2] 0.9168410 [km^2] 0.10983105 [km^2] 0.1829141 38.484362 [km^2] 0.02071881 0.0452 0.0057 0.008669299 2.0926 38.26733 75 13 11.290608 3865 87.00000 193 32 28.69286 8787 101
206021111 0.4036037 [km^2] 1.1249674 [km^2] 0.12612263 [km^2] 0.2038735 110.183807 [km^2] 0.01700879 0.0604 0.0017 0.007729779 4.6434 38.27106 134 3 15.577362 10448 86.81319 248 7 36.36293 23700 273
206021112 0.2486049 [km^2] 0.6556514 [km^2] 0.02532690 [km^2] 0.1642283 53.947261 [km^2] 0.01750968 0.0444 0.0026 0.007826259 3.7996 38.51613 98 11 11.424915 8358 82.70046 257 19 31.50966 17946 217
206031113 0.3554608 [km^2] 1.2379420 [km^2] 0.01026676 [km^2] 0.3504621 51.541810 [km^2] 0.01984138 0.0606 0.0025 0.009725815 2.8770 43.61379 210 12 23.884614 6324 96.86207 451 36 47.87623 14045 145
df_sa2_summary %>%
  write_csv('output/lockdown_greenspace_sa2_summary.csv')

SA1 level summary

df_mesh_lockdown_summary_residential  %>%
  select(-starts_with('mc'), -State) %>%
  mutate( area = units::set_units( area, 'km^2') ) %>%
  group_by(SA1_MAIN16) %>%
  summarise(across(.cols=where(is_numeric),
                   .fns=list(mean=mean, max=max, min=min, sd=sd, total = sum),
                   .names = "{col}.{fn}"), number_mesh_blocks = n(),
            .groups='drop') %>%
  right_join( df_mesh_lockdown_summary_all %>% distinct(SA1_MAIN16), by ='SA1_MAIN16' ) %>%
  { . } -> df_sa1_summary
Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated

Warning: Deprecated
df_sa1_summary %>%
  head(10) %>%
  gt::gt() %>%
  gt::tab_header(
                 title = "SA1 Summary",
                 subtitle = "First 10 rows"
  )
SA1 Summary
First 10 rows
SA1_MAIN16 area.mean area.max area.min area.sd area.total AREA_ALBERS_SQKM.mean AREA_ALBERS_SQKM.max AREA_ALBERS_SQKM.min AREA_ALBERS_SQKM.sd AREA_ALBERS_SQKM.total Dwelling.mean Dwelling.max Dwelling.min Dwelling.sd Dwelling.total Person.mean Person.max Person.min Person.sd Person.total number_mesh_blocks
0.304391939 [km^2] 0.30439194 [km^2] 3.043919e-01 [km^2] NA 0.30439194 [km^2] 0.0266000 0.0266 0.0266 NA 0.0266 48.00 48 48 NA 48 83.0000 83 83 NA 83 1
20401106101 1.716927629 [km^2] 2.33700232 [km^2] 1.394896e+00 [km^2] 0.537134365 5.15078289 [km^2] 0.2368000 0.4042 0.0977 0.155197390 0.7104 17.00 23 10 6.557439 51 28.0000 37 16 10.816654 84 3
20601110501 0.236750338 [km^2] 0.28897998 [km^2] 1.845207e-01 [km^2] 0.073863871 0.47350068 [km^2] 0.0205000 0.0229 0.0181 0.003394113 0.0410 54.50 59 50 6.363961 109 109.5000 115 104 7.778175 219 2
20601110502 0.009053943 [km^2] 0.03324198 [km^2] 8.786882e-05 [km^2] 0.011126021 0.07243154 [km^2] 0.0129125 0.0214 0.0050 0.005480729 0.1033 30.75 40 15 7.535630 246 72.7500 106 44 23.407874 582 8
20601110503 0.111808495 [km^2] 0.14763699 [km^2] 7.592192e-02 [km^2] 0.032314674 0.55904248 [km^2] 0.0124400 0.0174 0.0096 0.002926260 0.0622 38.00 53 27 9.643651 190 89.6000 154 69 36.239481 448 5
20601110504 0.150157289 [km^2] 0.15946122 [km^2] 1.334812e-01 [km^2] 0.014474176 0.45047187 [km^2] 0.0168000 0.0226 0.0094 0.006743886 0.0504 45.00 52 38 7.000000 135 100.3333 138 60 39.068316 301 3
20601110505 0.075412195 [km^2] 0.10663823 [km^2] 4.236977e-02 [km^2] 0.030155196 0.30164878 [km^2] 0.0171250 0.0218 0.0121 0.004618351 0.0685 40.50 50 30 9.146948 162 89.0000 113 60 21.924112 356 4
20601110506 0.031269759 [km^2] 0.04784777 [km^2] 1.238339e-02 [km^2] 0.013764637 0.15634879 [km^2] 0.0139600 0.0188 0.0073 0.004723135 0.0698 34.20 51 25 10.034939 171 78.4000 92 55 14.135063 392 5
20601110507 0.054184880 [km^2] 0.06144133 [km^2] 4.540331e-02 [km^2] 0.006063374 0.27092440 [km^2] 0.0165800 0.0236 0.0089 0.006171467 0.0829 46.20 59 34 9.418068 231 100.0000 130 69 26.804850 500 5
20601110508 0.100350967 [km^2] 0.15275205 [km^2] 5.873237e-02 [km^2] 0.036874938 0.50175483 [km^2] 0.0125000 0.0165 0.0086 0.003248846 0.0625 39.80 53 23 10.825895 199 75.8000 86 54 13.084342 379 5
df_sa1_summary %>%
  write_csv('output/lockdown_greenspace_sa1_summary.csv')

Map

map_sa1 %>%
  inner_join(df_sa1_summary, by = "SA1_MAIN16" ) %>%
  mutate( area.mean = area.mean %>% as.numeric() ) %>%
  ggplot() +
  geom_sf( aes( fill = area.mean ),lwd=0 ) +
  scale_fill_viridis_c(option = "plasma") +
  ggtitle(glue::glue('Km^2 greenspace access within {max_distance}km of meshblock average for SA1'))

Version Author Date
824aa81 Dennis Wollersheim 2020-08-06
878b52c Dennis Wollersheim 2020-08-06
4550ce3 Dennis Wollersheim 2020-08-06
0f2b938 Dennis Wollersheim 2020-08-06
e1388a3 Dennis Wollersheim 2020-08-06
a71385f Dennis Wollersheim 2020-08-05
b83cc3d Dennis Wollersheim 2020-08-05
1b1df89 Dennis Wollersheim 2020-08-05
map_sa2 %>%
  inner_join(df_sa2_summary, by = "SA2_MAIN16" ) %>%
  mutate( area.mean = area.mean %>% as.numeric() ) %>%
  ggplot() +
  geom_sf( aes( fill = area.mean ),lwd=0 ) +
  scale_fill_viridis_c(option = "plasma") +
  ggtitle(glue::glue('Km^2 greenspace access within {max_distance}km of meshblock average for SA2'))

Version Author Date
824aa81 Dennis Wollersheim 2020-08-06
878b52c Dennis Wollersheim 2020-08-06
4550ce3 Dennis Wollersheim 2020-08-06
0f2b938 Dennis Wollersheim 2020-08-06
e1388a3 Dennis Wollersheim 2020-08-06

Green Map

map_mesh %>%
  inner_join(df_mesh_lockdown_summary_parks, by = "MB_CODE16" ) %>%
  { . } -> df_parks

map_sa1 %>%
  inner_join(df_sa1_summary, by = "SA1_MAIN16" ) %>%
  mutate( area.mean = area.mean %>% as.numeric() ) %>%
  ggplot() +
  geom_sf( aes( fill = area.mean ),lwd=0 ) +
  geom_sf(data=df_parks, fill=RColorBrewer::brewer.pal(3,'Greens')[2]) +
  scale_fill_viridis_c(option = "plasma") +
  ggtitle(glue::glue('Km^2 greenspace access within {max_distance}km of meshblock. Green is parks'))

Version Author Date
824aa81 Dennis Wollersheim 2020-08-06
878b52c Dennis Wollersheim 2020-08-06
4550ce3 Dennis Wollersheim 2020-08-06
0f2b938 Dennis Wollersheim 2020-08-06
e1388a3 Dennis Wollersheim 2020-08-06
a71385f Dennis Wollersheim 2020-08-05
b83cc3d Dennis Wollersheim 2020-08-05
a69a370 Dennis Wollersheim 2020-08-05
1b1df89 Dennis Wollersheim 2020-08-05
map_sa2 %>%
  inner_join(df_sa2_summary, by = "SA2_MAIN16" ) %>%
  mutate( area.mean = area.mean %>% as.numeric() ) %>%
  ggplot() +
  geom_sf( aes( fill = area.mean ),lwd=0 ) +
  geom_sf(data=df_parks, fill=RColorBrewer::brewer.pal(3,'Greens')[2]) +
  scale_fill_viridis_c(option = "plasma") +
  ggtitle(glue::glue('Km^2 greenspace access within {max_distance}km of meshblock. Green is parks'))

Version Author Date
824aa81 Dennis Wollersheim 2020-08-06
878b52c Dennis Wollersheim 2020-08-06
4550ce3 Dennis Wollersheim 2020-08-06
0f2b938 Dennis Wollersheim 2020-08-06
e1388a3 Dennis Wollersheim 2020-08-06

Interactive Map SA2 level

map_breaks = 0:5/5 * max_distance^2
map_levels = paste0( map_breaks, '-', map_breaks + map_breaks[2] - map_breaks[1], 'km' )
map_levels [[length(map_levels)-1]] = paste0('>', map_breaks[[ length(map_breaks)-1]], 'km' )
map_levels = map_levels [1:length(map_levels)-1]
map_breaks[[length(map_breaks)]] = 3.2*max_distance^2


map_colors = RColorBrewer::brewer.pal(6,'YlOrRd')[2:6]
map_palette = colorFactor(map_colors, levels=map_levels)

map_sa2 %>%
  inner_join(df_sa2_summary, by = "SA2_MAIN16" ) %>%
  mutate( area.mean = area.mean %>% as.numeric() ) %>%
  mutate( area_factor = cut( area.mean, breaks=map_breaks,
                            labels= map_levels )) %>%
  { . } -> df_leaflet


df_leaflet %>%
  leaflet(height=2000, width=2000) %>%
  addPolygons(stroke = FALSE, smoothFactor = 0.2, fillOpacity = 1,
              color = ~map_palette(area_factor)) %>%
  addLegend("bottomright", pal = map_palette, values = ~area_factor,
            title = glue::glue("Mean park area within {max_distance}km circle of mesh blocks within SA2"),
            opacity = 1
            ) %>%
  addPolygons( weight = .5, smoothFactor = 0.5,
              opacity = .5, fillOpacity = 0.0,
              data = map_lockdown_lga) %>%
  addPolygons( weight = 1, smoothFactor = 0.5,
              opacity = 1, fillOpacity = 1,
              color = RColorBrewer::brewer.pal(3,'Greens')[2],
              data = df_parks)
Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ).
Need '+proj=longlat +datum=WGS84'

Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ).
Need '+proj=longlat +datum=WGS84'

Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ).
Need '+proj=longlat +datum=WGS84'

Interactive Map SA1 levelk

map_colors = RColorBrewer::brewer.pal(6,'YlOrRd')[2:6]
map_palette = colorFactor(map_colors, levels=map_levels)

map_sa1 %>%
  inner_join(df_sa1_summary, by = "SA1_MAIN16" ) %>%
  mutate( area.mean = area.mean %>% as.numeric() ) %>%
  mutate( area_factor = cut( area.mean, breaks=map_breaks,
                            labels= map_levels )) %>%
  { . } -> df_leaflet


df_leaflet %>%
  leaflet(height=2000, width=2000) %>%
  addPolygons(stroke = FALSE, smoothFactor = 0.2, fillOpacity = 1,
              color = ~map_palette(area_factor)) %>%
  addLegend("bottomright", pal = map_palette, values = ~area_factor,
            title = glue::glue("Mean park area within {max_distance}km circle of mesh blocks within SA2"),
            opacity = 1
  ) %>%
  addPolygons( weight = .5, smoothFactor = 0.5,
              opacity = .5, fillOpacity = 0.0,
              data = map_lockdown_lga) %>%
  addPolygons( weight = 1, smoothFactor = 0.5,
              opacity = 1, fillOpacity = 1,
              color = RColorBrewer::brewer.pal(3,'Greens')[2],
              data = df_parks)
Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ).
Need '+proj=longlat +datum=WGS84'

Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ).
Need '+proj=longlat +datum=WGS84'

Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ).
Need '+proj=longlat +datum=WGS84'

sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.4 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] rvest_0.3.5        xml2_1.3.2         DT_0.13            leaflet_2.0.3.9000
 [5] workflowr_1.6.2    cleangeo_0.2-3     maptools_1.0-1     rgeos_0.5-3       
 [9] sp_1.4-2           geohash_0.4.0      osrm_3.3.3         sf_0.9-3          
[13] janitor_2.0.1      rmarkdown_2.1      lubridate_1.7.8    geosphere_1.5-10  
[17] forcats_0.5.0      stringr_1.4.0      dplyr_1.0.0        purrr_0.3.4       
[21] readr_1.3.1        tidyr_1.1.0        tibble_3.0.3       ggplot2_3.3.2     
[25] tidyverse_1.3.0    drake_7.12.4       dotenv_1.0.2       conflicted_1.0.4  
[29] nvimcom_0.9-99    

loaded via a namespace (and not attached):
 [1] nlme_3.1-147       fs_1.4.1           RColorBrewer_1.1-2 filelock_1.0.2    
 [5] progress_1.2.2     httr_1.4.1         rprojroot_1.3-2    tools_4.0.2       
 [9] backports_1.1.8    R6_2.4.1           KernSmooth_2.23-17 DBI_1.1.0         
[13] colorspace_1.4-1   withr_2.2.0        tidyselect_1.1.0   prettyunits_1.1.1 
[17] compiler_4.0.2     git2r_0.27.1       Xmisc_0.2.1        cli_2.0.2         
[21] gt_0.2.1           labeling_0.3       sass_0.2.0         checkmate_2.0.0   
[25] scales_1.1.1       classInt_0.4-3     digest_0.6.25      foreign_0.8-79    
[29] txtq_0.2.3         pkgconfig_2.0.3    htmltools_0.5.0    dbplyr_1.4.3      
[33] htmlwidgets_1.5.1  rlang_0.4.7        readxl_1.3.1       rstudioapi_0.11   
[37] farver_2.0.3       generics_0.0.2     jsonlite_1.7.0     crosstalk_1.1.0.1 
[41] magrittr_1.5       Rcpp_1.0.5         munsell_0.5.0      fansi_0.4.1       
[45] lifecycle_0.2.0    stringi_1.4.6      whisker_0.4        yaml_2.2.1        
[49] snakecase_0.11.0   storr_1.2.1        grid_4.0.2         parallel_4.0.2    
[53] promises_1.1.1     crayon_1.3.4       lattice_0.20-41    haven_2.2.0       
[57] hms_0.5.3          knitr_1.28         pillar_1.4.6       igraph_1.2.5      
[61] base64url_1.4      reprex_0.3.0       glue_1.4.1         evaluate_0.14     
[65] modelr_0.1.7       vctrs_0.3.2        httpuv_1.5.4       cellranger_1.1.0  
[69] gtable_0.3.0       assertthat_0.2.1   xfun_0.16          broom_0.5.6       
[73] e1071_1.7-3        later_1.1.0.1      viridisLite_0.3.0  class_7.3-17      
[77] memoise_1.1.0      units_0.6-6        ellipsis_0.3.1